﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CestoDoBebe.DAO;


namespace CestodoBebe
{
    public partial class cadastroCategoria : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                List<Categoria> listaCategoria = new Categoria().listarCategoria();

                gdCategoria.DataSource = listaCategoria;
                gdCategoria.DataBind();
            }
        }

        protected void btnConfirmar_Click(object sender, EventArgs e)
        {
            Page.Validate();

            if (Page.IsValid)
            {
                if ( btnConfirmar.Text == "Confirmar" )
                {
                    Categoria objCategoria = new Categoria();

                    objCategoria.nmeCategoriaProduto = txtNmeCategoria.Text;
                    objCategoria.descCategoriaProduto = txtDescCategoria.Text;

                    objCategoria.flgAtivo = 1;


                    if (objCategoria.incluirCategoria(objCategoria))
                    {
                        gdCategoria.DataSource = new Categoria().listarCategoria();
                        gdCategoria.DataBind();

                        ScriptManager.RegisterStartupScript(
                        Page, Page.GetType(), "[ Cadastro de Categoria ]", "alert('Categoria cadastrada com sucesso!')", true);

                        txtDescCategoria.Text = "";
                        txtNmeCategoria.Text = "";
                    }
                }

                else if (btnConfirmar.Text == "Alterar")
                {
                    Categoria objCategoria = new Categoria();

                    objCategoria.codCategoriaProduto = (int)Session["idCategoria"];
                    objCategoria.nmeCategoriaProduto = txtNmeCategoria.Text;
                    objCategoria.descCategoriaProduto = txtDescCategoria.Text;

                    objCategoria.flgAtivo = 1;


                    if (objCategoria.alterarCategoria(objCategoria))
                    {
                        gdCategoria.DataSource = new Categoria().listarCategoria();
                        gdCategoria.DataBind();

                        ScriptManager.RegisterStartupScript(
                        Page, Page.GetType(), "[ Alteração de Categoria ]", "alert('Categoria alterada com sucesso!')", true);

                        txtDescCategoria.Text = "";
                        txtNmeCategoria.Text = "";
                        btnConfirmar.Text = "Confirmar";

                        btnEditar.Visible = false;
                        btnCancelar.Visible = false;
                    }
                }
            }

        }

        protected void gdCategoria_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            Categoria objCategoria = new Categoria();

            if (e.CommandName == "DEL")
            {

                objCategoria.excluirCategoria(e.CommandArgument.ToString() );

                gdCategoria.DataSource = new Categoria().listarCategoria(); 
                gdCategoria.DataBind();
            }

            if (e.CommandName == "VIEW")
            {                

                List<Categoria> lstCategoria = new Categoria().listarCategoria(e.CommandArgument.ToString());


                txtDescCategoria.Text = lstCategoria[0].descCategoriaProduto;
                txtNmeCategoria.Text = lstCategoria[0].nmeCategoriaProduto;

                Session["idCategoria"] = lstCategoria[0].codCategoriaProduto;

                txtDescCategoria.Enabled = false;
                txtNmeCategoria.Enabled = false;
                btnConfirmar.Visible = false;
                btnEditar.Visible = true;
                btnEditar.Enabled = true;
                btnCancelar.Visible = true;
            }
        }

        protected void btnEditar_Click(object sender, EventArgs e)
        {
            txtDescCategoria.Enabled = true;
            txtNmeCategoria.Enabled = true;
            btnConfirmar.Text = "Alterar";
            btnConfirmar.Visible = true;
            btnCancelar.Visible = true;
            btnEditar.Enabled = false;
        }

        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            btnConfirmar.Text = "Confirmar";
            btnConfirmar.Visible = true;
            btnEditar.Visible = false;
            txtDescCategoria.Text = "";
            txtNmeCategoria.Text = "";
            btnCancelar.Visible = false;
            txtDescCategoria.Enabled = true;
            txtNmeCategoria.Enabled = true;
            Session["idCategoria"] = null;
        }

       
    }
}